package com.huaxin.device.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.huaxin.device.dto.ResponseResult;
import com.huaxin.device.dto.request.EquipmentModelCreateReqDTO;
import com.huaxin.device.dto.request.EquipmentModelPageListReqDTO;
import com.huaxin.device.dto.request.EquipmentModelUpdateReqDTO;
import com.huaxin.device.models.EquipmentModel;

public interface EquipmentModelService extends IService<EquipmentModel> {

    /**
     * 创建电力设备型号
     */
    ResponseResult<EquipmentModel> create(EquipmentModelCreateReqDTO in);

    /**
     * 根据ID查询设备型号
     */
    EquipmentModel getByModelId(String id);

    /**
     * 更新电力设备型号
     */
    ResponseResult<String> update(EquipmentModelUpdateReqDTO in);

    /**
     * 删除设备型号（支持逻辑删除）
     */
    ResponseResult<String> delete(String id);

    /**
     * 启用设备型号
     */
    ResponseResult<String> active(String id);

    /**
     * 禁用设备型号
     */
    ResponseResult<String> inactive(String id);

    /**
     * 分页查询设备型号
     */
    ResponseResult<IPage<EquipmentModel>> pageQuery(EquipmentModelPageListReqDTO in);

    /**
     * 根据分类ID查询设备型号列表
     */
    java.util.List<EquipmentModel> getByCategoryId(String categoryId);
}